package com.companion.companion.service;

import com.companion.companion.domain.Admin;
import com.companion.companion.domain.Serverorder;
import com.companion.companion.domain.Vo.AdminDataIO;
import com.companion.companion.domain.Vo.AdminDataVo;

import java.util.List;

/**
 * 管理员信息Service接口
 * 
 * @author zly
 * @date 2025-05-06
 */
public interface IAdminService 
{
    /**
     * 查询管理员信息
     * 
     * @param adminId 管理员信息主键
     * @return 管理员信息
     */
    public Admin selectAdminByAdminId(Long adminId);

    /**
     * 查询管理员信息列表
     * 
     * @param admin 管理员信息
     * @return 管理员信息集合
     */
    public List<Admin> selectAdminList(Admin admin);

    /**
     * 新增管理员信息
     * 
     * @param admin 管理员信息
     * @return 结果
     */
    public int insertAdmin(Admin admin);

    /**
     * 修改管理员信息
     * 
     * @param admin 管理员信息
     * @return 结果
     */
    public int updateAdmin(Admin admin);

    /**
     * 批量删除管理员信息
     * 
     * @param adminIds 需要删除的管理员信息主键集合
     * @return 结果
     */
    public int deleteAdminByAdminIds(Long[] adminIds);

    /**
     * 删除管理员信息信息
     * 
     * @param adminId 管理员信息主键
     * @return 结果
     */
    public int deleteAdminByAdminId(Long adminId);

    // 管理端 主页数据
    public AdminDataVo selectAdminMainDataList(Serverorder serverorder);
}
